package com.haixiaoke.saas.house.service;


import com.haixiaoke.saas.common.core.domain.AjaxResult;
import com.haixiaoke.saas.house.domain.HouseInspection;

import java.util.List;
import java.util.Map;

/**
 * 验房记录Service接口
 *
 * @author xiaolong
 * @date 2024-05-08
 */
public interface IHouseInspectionService {
    /**
     * 查询验房记录
     *
     * @param houseInspectionId 验房记录主键
     * @return 验房记录
     */
    HouseInspection selectHouseInspectionByHouseInspectionId(String houseInspectionId);

    /**
     * 查询验房记录列表
     *
     * @param houseInspection 验房记录
     * @return 验房记录集合
     */
    List<HouseInspection> selectHouseInspectionList(HouseInspection houseInspection);

    /**
     * 新增验房记录
     *
     * @param houseInspection 验房记录
     * @return 结果
     */
    int insertHouseInspection(HouseInspection houseInspection);

    /**
     * 指定验房人员
     *
     * @param houseInspection 验房记录
     * @return 结果
     */
    int updateHouseInspection(HouseInspection houseInspection);

    /**
     * 批量删除验房记录
     *
     * @param houseInspectionIds 需要删除的验房记录主键集合
     * @return 结果
     */
    int deleteHouseInspectionByHouseInspectionIds(String[] houseInspectionIds);

    /**
     * 删除验房记录信息
     *
     * @param houseInspectionId 验房记录主键
     * @return 结果
     */
    int deleteHouseInspectionByHouseInspectionId(String houseInspectionId);


    /**
     * 更换验房人员
     */
    int changeHouseInspection(HouseInspection houseInspection);

    int routineInspection(HouseInspection houseInspection);

    AjaxResult insertSweepAndInspection(HouseInspection houseInspection);

    int editHouseInspectionList(HouseInspection houseInspection);

    List<HouseInspection> selectHouseInspectionByOrderId(HouseInspection houseInspection);

    HouseInspection getProcessInfo(HouseInspection houseInspection);

    List<HouseInspection> selectHouseInspectionByCleanerIds(Long[] cleanerIds);

    Map<String, Integer> statistics(Long userId);
}
